package com.dcy.znoa.service.publiz;

import com.dcy.znoa.common.exception.BusinessException;
import com.dcy.znoa.common.util.pojo.JsonCommon;
import com.dcy.znoa.common.util.pojo.JsonForList;
import com.dcy.znoa.controller.publiz.model.company.SelectCompanyModel;
import com.dcy.znoa.controller.publiz.model.company.SelectNotInByEsIdModel;
import com.dcy.znoa.domain.Oper;
import com.dcy.znoa.domain.publiz.Company;

import java.lang.reflect.InvocationTargetException;
import java.util.List;

public interface CompanyService {
//    public JsonForList selectList(Wrapper var1);
    JsonForList selectList(Oper oper, SelectCompanyModel model) throws InvocationTargetException, IllegalAccessException;

    JsonCommon insert(Company var1) throws BusinessException;

    JsonCommon updateById(Company var1);//修改和逻辑删除都用这个方法实现

    JsonCommon selectById(Integer id) throws BusinessException;

    JsonCommon insertCompAndOper(Company cm,Oper op) throws BusinessException;

    boolean connectToEstate(Long esId, Long operId, List<String> listIds);

    boolean setValidFlag(Integer validFlag, Long operId, List<String> listIds);

    List selectList(SelectNotInByEsIdModel model);

    boolean untieToEstate(Long operId, List<String> listIds);
}
